| |

| |
| HOME | BOOKS | DOWNLOAD | NEWS | AFFILIATES | EXPERT STORES | SUPPORT | SITE MAP | CONTACT |
| |

Search wrox.com

| |

Book Details

Sample Chapter (PDF)

Download Acrobat
Reader for free

Previous Edition

| |

| |
| |

Buy this book from:

-- not selected --

WroxDirect (US)

Amazon.com

Amazon.ca

Amazon.co.uk

Amazon.de

Computer Manuals

SoftPro (US)

Wrox Expert Stores

| |

| |

Authors:
Jonathan Pinnock
Stephen Mohr
Jon Duckett
Steve Livingstone
Nik Ozu
Kevin Williams
Pete Kobak
Oli Gudmundsson
Andrew Watt
Raja Mani
Daniel Marcus
Evan Lenz
Brian Hickey
Zoran Zaev
Keith Visco
Mark Birbeck

ISBN number:
1-861005-05-9
Published:
May 2001
Pages: 1217
Price:
US$ 59.99

| |

Professional XML 2nd Edition

Summary Of Contents

Introduction | 1
Chapter 1: Introducing XML | 11
Chapter 2: Basic XML Syntax | 51
Chapter 3: More XML Syntax | 87
Chapter 4: The XML Information Set | 121
Chapter 5: Validating XML: DTDs | 133
Chapter 6: Introducing XML Schema | 191
Chapter 7: Schema Alternatives | 241
Chapter 8: Navigating XML - XPath | 331
Chapter 9: Transforming XML | 371
Chapter 10: Fragments, XLink, and XPointer | 413
Chapter 11: The Document Object Model | 461
Chapter 12: SAX 2 | 529
Chapter 13: Schema Based Programming | 569
Chapter 14: Data Modeling | 617
Chapter 15: XML Data Binding | 671
Chapter 16: Querying XML | 723
Chapter 17: Case Study: Databases and XML | 739
Chapter 18: Presenting XML Graphically | 773
Chapter 19: VoiceXML | 819
Chapter 20: XSL Formatting Objects: XSL-FO | 839
Chapter 21: Case Study: Generating a Site Index | 881
Chapter 22: RDF | 917
Chapter 23: RDF Code Samples and RDDL | 985
Chapter 24: SOAP | 1031
Chapter 25: B2B with Microsoft BizTalk Server | 1083
Chapter 26: E-Business Integration | 1129
Chapter 27: B2B Futures: WSDL and UDDI | 1179
Index | 1221

Table of Contents

Introduction | 1
What Does This Book Cover? | 1
Who Is This Book for? | 2
How Is this Book Structured? | 2
What You Need to Use This Book | 6
Conventions | 6
Support, Errata, and P2P | 7
Tell Us What You Think | 8
Chapter 1: Introducing XML | 11
Origins and Goals of XML | 11
The Various Stages of W3C Specifications | 21
The XML Core | 22
XML 1.0 Syntax | 22
Description and Validation | 25
Namespaces in XML | 29
The XML Information Set | 29
Navigating & Linking XML | 29
Transforming XML | 32
Practical XML | 33
XML Vocabularies | 33
Programming with XML | 37
Presentation of XML | 38
XML for Servers and Databases | 39
Extensible Communications Protocols | 41
The Foundation of eBusiness | 42
Semantics and Meta Data | 44
Summary | 46
References | 46
Chapter 2: Basic XML Syntax | 51
Markup Syntax | 51
Elements | 56
The Structure of XML Data | 59
Attributes | 65
Character Data | 66
Summary of Element and Attribute Syntax | 68
Character and Entity References | 69
Special-Purpose Markup | 72
Document Structure | 75
Well-Formed XML | 77
Valid XML (A Brief Look) | 78
XML Parsers | 79
Examples | 83
Summary | 85
Chapter 3: More XML Syntax | 87
Advanced Processing Considerations | 88
Use of Existing Standards | 92
XML 1.0 References | 92
ISO | 94
Unicode | 96
IETF | 98
IANA | 105
Namespaces in XML | 106
What is an XML Namespace? | 106
How Are XML Names Made Unique? | 107
Declaring Namespaces | 110
Default Namespaces | 111
Scope | 111
Namespaces & Attributes | 113
Summary | 114
XML Base | 114
Example: An Invoice with Namespaces | 116
Summary | 118
References | 118
Chapter 4: The XML Information Set | 121
What is the Information Set? | 122
Information Items | 122
Summary | 130
Chapter 5: Validating XML: DTDs | 133
Why Validate XML? | 134
DTD Structure | 138
Associating a DTD with XML Data | 139
The Document Type (DOCTYPE) Declaration | 139
Internal and External DTD Subsets | 142
Basic DTD Declarations | 143
Element Type (ELEMENT) Declarations | 144
Attribute (ATTLIST) Declarations | 153
Notations - Non-XML Data | 164
Entities | 165
Parsed Entities | 166
Unparsed Entities | 166
Entity References | 167
General Entities | 168
Parameter Entities | 173
ISO and Other Standard Entity Sets | 174
Standard Character Entity Reference Sets | 174
Conditional Sections | 176
The Standalone Document Declaration | 179
Validating XML Parsers | 179
Limitations of DTDs | 181
The <Toysco> Example | 184
Summary | 188
Chapter 6: Introducing XML Schema | 191
Background To W3C XML Schemas | 192
Advantages of W3C XML Schemas | 193
Choosing a Parser | 196
Working with XML Schemas | 197
Primary Components | 197
Complex Types | 206
Declaring Attributes | 209
Content Models | 211
Secondary Components | 213
Employee Schema | 220
Creating your Own Data-Types | 222
Aspects of Data-types | 223
Derivation and Facets | 224
The ToysCo Example | 230
Summary | 239
Chapter 7: Schema Alternatives | 241
Early Schema Proposals | 242
XML-Data Reduced (XDR) | 244
XDR and XML Schema | 259
Example | 261
Summary | 266
Alternative Validation Tools | 266
RELAX | 267
RELAX Structure | 269
RELAX Elements | 270
Data Types | 280
Implementations | 281
Summary | 282
TREX | 283
TREX Elements | 284
Data Types | 297
TREX Processors | 299
TREX Schemas | 299
Examples | 300
Summary | 311
Schematron | 311
Schematron Structure | 312
Schematron Elements | 315
Implementation of Schematron | 325
Schematron Summary | 326
Summary | 327
Chapter 8: Navigating XML - XPath | 331
Introduction to XPath | 331
XPath Expressions and Location Paths | 344
XPath Syntax | 345
XPath Functions | 347
Nodeset Functions | 348
Boolean Functions | 348
Number Functions | 349
String Functions | 349
Variations in XPath Syntax | 350
Unabbreviated Relative Location Paths | 351
Unabbreviated Absolute Location Paths | 359
Abbreviated Relative Location Paths | 360
Abbreviated Absolute Location Paths | 363
XPath as a foundation for XSLT | 364
XPath as a Foundation for XPointer | 365
The Future for XPath | 366
Summary | 368
Chapter 9: Transforming XML | 371
Origins and Purpose of XSLT | 372
What is Transformation? | 373
Locating Data: XPath | 375
Transforming Data: XSLT | 380
XSLT Elements | 380
The Full List | 380
Commonly Used Elements | 380
XSLT Programming Style | 393
Executing Transformations | 397
XSLT for Presentation: XML To HTML Example | 399
XSLT for Data Conversion: XML To XML Example | 407
Summary | 409
Chapter 10: Fragments, XLink, and XPointer | 413
XML Fragment Interchange | 414
Some Uses for Document Fragments | 418
The Problem: Bare Document Fragments Aren't Always Enough | 420
The Solution: Context Information | 422
Examples, Revisited | 424
How Fragments May Be Transmitted | 426
Summary | 428
Linking | 428
What Is Linking? | 429
The W3C Specification: XLink | 430
Simple Links | 432
Extended Links | 435
Summary | 452
XPointer | 453
How May Fragment Identifiers Be Specified? | 454
XPointer Errors | 458
Summary | 458
Conclusions | 458
Chapter 11: The Document Object Model | 461
What Is the Document Object Model? | 461
XML Document Structure | 462
Why Use the DOM? | 464
Practical Considerations | 466
The DOM Specification | 466
The DOM in the Real World | 483
The HTML DOM As a Special Case of the XML DOM | 483
Working with the DOM | 486
DOM APIs | 486
Client Side and Server Side | 487
Scenarios for Using the DOM in the Publishing Process | 488
Sample Application Using DOM and XML | 492
A Simple Client Side Example | 492
Another Example (with Java) | 497
DOM Level 2 | 502
Modifications To the Core Specification | 503
The Views Specification | 508
The Events Specification | 509
The Styles Specification | 516
The Traversal and Ranges Specification | 517
A Quick Example | 523
What's Next? DOM Level 3 | 525
Future of the DOM and XML | 526
Summary | 527
Chapter 12: SAX 2 | 529
Introduction | 529
The Need for SAX | 530
SAX Versus DOM - The Tradeoffs | 530
Which One To Choose | 531
Understanding SAX | 532
Setting Up the Environment | 532
Loading a Reader | 533
Content Handlers | 535
Error Handlers | 543
DTD Handlers | 546
Validation | 547
The DefaultHandler | 547
Common Pitfalls | 548
Examples | 549
Summary | 566
Chapter 13: Schema Based Programming | 569
A Short History of Our Short History | 570
Schema Based Programming Objectives | 572
Schema Based Programming in Practice | 576
Living XML Tree Example | 582
Lessons Learned | 606
Interfacing Procedural and Declarative Code | 607
State Machines | 607
Summary | 613
Chapter 14: Data Modeling | 617
Introducing Data Modeling | 618
Information Modeling | 618
The Static Information Model | 620
Dynamic Modeling | 625
Choosing a Dynamic Model | 628
Designing XML Documents | 628
XML For Messages | 630
XML for Persistent Data | 633
General Design Issues | 633
Writing Schemas | 650
Schema Repositories | 651
Constraints We Can Express in DTDs and Schemas | 652
Namespaces | 660
Elements Versus Types | 662
Local Versus Global Declarations and Definitions | 664
Explaining Our Schemas | 668
Summary | 668
Chapter 15: XML Data Binding | 671
Introduction | 671
XML Data Binding with Castor | 682
Using Castor's Built-in Introspection | 682
Using Castor Mapping Files | 688
Using Castor's Source Code Generator | 699
Using XSLT with XML Data Binding | 712
Creating Presentable Views of Object Models | 712
Schema Conversion | 713
XML Data Binding Instead of Object Serialization | 717
Summary | 720
Resources: | 721
Chapter 16: Querying XML | 723
The W3C XML Query Language | 724
Requirements | 724
Use-Cases | 725
Data Model | 725
Algebra | 726
XQuery | 727
Example Queries | 729
XQuery vs. XSLT | 735
Summary | 736
Chapter 17: Case Study: Databases and XML | 739
The Business Problem | 740
Proposed Architecture | 741
Analyzing the Data | 742
Showing a R??sum??: The Display Code | 745
Inserting or Updating a R??sum??: The Edit Code | 750
Searching the Repository: The Search Code | 763
Further Enhancements | 769
Summary | 770
Chapter 18: Presenting XML Graphically | 773
XML-based Graphics and Animation Technologies | 774
How Does SVG Differ from Typical Web Graphics? | 776
Overview of Scalable Vector Graphics | 777
An Overview of SVG Elements | 778
SVG Viewers | 782
A Horizontal Bar Chart | 785
An Interactive Bar Chart | 790
Using SVG with Cascading Style Sheets | 795
Creating SVG Using XSLT | 800
A Vertical Bar Chart Created Using XSLT | 804
Incorporating SVG in XSL-FO | 811
Some Commercial Tools To Produce SVG | 813
Summary | 817
Online Resources | 817
Chapter 19: VoiceXML | 819
Voice Application Architecture | 823
Hardware | 823
Speech | 824
Presentation | 824
Middleware | 824
Data | 824
Anatomy of Request-Response in Voice Applications | 825
VoiceXML Basics | 826
Forms | 826
Menus | 830
Directed Dialog Versus Mixed Initiative | 830
Links | 831
Events | 831
Object | 832
Multiple Document Applications | 832
An Example | 833
Limitations of VoiceXML | 834
Alternatives | 835
Summary | 836
Chapter 20: XSL Formatting Objects: XSL-FO | 839
XSL-FO Overview | 844
Comparison of XSL-FO and CSS | 849
XSL-FO Tools | 849
Creating Simple XSL-FO Documents | 852
Creating a Simple XSL-FO Document Including a List | 856
Creating a Simple XSL-FO Table | 861
Creating a Simple XSL-FO Invoice | 864
Using XSL-FO to produce PDF documents | 870
Using XSL-FO with SVG | 871
Using an XSL Formatter As an XSL-FO Web Browser | 874
Looking Ahead | 878
Summary | 878
Chapter 21: Case Study: Generating a Site Index | 881
What Is a Site Index? | 882
HTML Example | 887
XML Source Documents | 906
Index Generator Components | 906
Logical Relationship Analysis | 907
Physical Design | 908
Running the Generator | 910
Running the Thesaurus Program | 910
Running the IndexingSpider Program | 911
Running the BrowsableIndex Program | 913
Distribution | 914
Summary | 915
Chapter 22: RDF | 917
Introduction to Meta data | 918
Meta data Inside Web Pages | 919
Dublin Core | 921
DC and HTML | 922
RDF: An XML Standard for Metadata | 925
A Model for Metadata | 925
RDF Syntax | 930
Summary | 982
Chapter 23: RDF Code Samples and RDDL | 985
A Real-World Use for RDF: Annotation | 985
Annotea | 986
Building Our Own Annotation Server | 991
RDF Parsers | 993
Parser Output | 994
XSLT Stylesheets | 995
Event-driven RDF Parsers | 998
RDF DOM or API | 1006
RDF Data Stores | 1007
Querying Metadata Stores | 1009
Query an RDF Data Store | 1009
Making Microsoft Index Server Return RDF Syntax | 1012
Conclusion | 1019
Namespaces in RDF and XML | 1020
Resource Directory Description Language | 1021
RDDL Examples | 1025
Summary | 1028
Chapter 24: SOAP | 1031
Introduction To SOAP | 1032
Life Before SOAP | 1033
SOAP Message | 1037
Brief Overview of WSDL | 1043
SOAP Bindings To Transport Protocols | 1046
HTTP As the Standard Synchronous Protocol | 1046
Asynchronous Communication Via SMTP and MIME | 1047
Other Transport Mechanisms | 1049
Popular Implementations of SOAP | 1049
Apache SOAP and IBM Web Services Toolkit | 1050
Microsoft's SOAP Toolkit, BizTalk Server, and Web Services in .NET | 1050
Perl and SOAP::Lite | 1051
Synchronous SOAP Example Via HTTP | 1051
Server Application Implementation | 1052
Client Application Implementation | 1057
Asynchronous SOAP Example Via SMTP | 1067
Invoice Server - Microsoft SOAP Client Via SMTP | 1068
Fulfillment Server - Apache/IBM Java Server Via SMTP | 1073
What's Next - an XML Protocol (XP)? | 1078
Future Releases of SOAP Implementations | 1079
Summary | 1080
Chapter 25: B2B with Microsoft BizTalk Server | 1083
Needs of B2B Commerce | 1084
Data Representation | 1084
Messaging | 1085
Business Process Modeling | 1086
Some Solutions | 1086
XML for Data Representation | 1086
Internet Protocols for Communication | 1087
B2B Frameworks | 1087
Microsoft BizTalk Server | 1088
Data Representation | 1089
Messaging Service | 1092
Orchestration and XLANG Scheduler | 1095
Tracking | 1099
BizTalk Server Extensibility | 1100
Clearing Up Some Confusion | 1101
XYZ: A B2B BizTalk Example | 1102
The Business Problem | 1102
Messages | 1103
Mapping | 1107
The Schedule | 1110
Putting the Schedule Into Production | 1122
Summary | 1126
Chapter 26: E-Business Integration | 1129
Introduction To E-Business | 1129
Integration Issues & Solutions | 1134
Integrated Purchase Order | 1137
Schema Translation | 1147
Business Rules in Translation | 1157
Solution Architecture | 1160
EXAMPLE | 1169
Summary | 1175
Chapter 27: B2B Futures: WSDL and UDDI | 1179
Let's Work Together | 1179
WSDL | 1180
WSDL: The Theory | 1180
Generating WSDL | 1181
WSDL Generation the IBM Java Way | 1192
WSDL in Practice | 1198
Chickens and Eggs | 1203
UDDI | 1203
UDDI Concepts | 1203
UDDI Inquiries | 1204
Publishing To UDDI | 1210
Summary | 1218
Index | 1221

The sample chapter PDF's used on our site are produced in Adobe Acrobat version 5.0 format. The latest version of Adobe Acrobat Reader can be downloaded from http://www.adobe.com/products/acrobat/readstep2.html.

| |
Wrox®  Programmer to ProgrammerTM    The one-stop source of information for programmers

| |

BOOKS | WROXDIRECT | WROXBASE | ASPTODAY | C#TODAY  | P2P FORUMS | DISTRIBUTORS | WRITE FOR US | ABOUT
WROX INDIA | WROX FRANCE | WROX KOREA | WROX ACADEMIC  | TERMS & CONDITIONS | PRIVACY | JOBS @ WROX

| |

©2002 Wrox Press UK and USA.     Contact: [email-masked]     Created: 18 Apr 2003 at 02:46:18